<?php
declare(strict_types=1);

namespace App\Common\Modular\System\Traits\Configure\Traits;

use Core\Package\ElementPlus\FormCreate\FormItem;

trait AdminForm
{
    public function getAdminFormRule($configure): array
    {
        return [
            FormItem::Input('title', '后台名称', $configure['title'] ?? '')->placeholder('系统名称')->maxlength(10)->required('请设置系统名称'),
            FormItem::ImageInput('login_bg', '登录背景图', $configure['login_bg'] ?? '')->clearable(true)->hint('不设置则显示默认背景图'),
            FormItem::ImageInput('login_ad', '登录展示图', $configure['login_ad'] ?? '')->clearable(true)->hint('不设置则显示默认展示图'),
            FormItem::Number('login_err', '密码错误锁定', (int)($configure['login_err'] ?? 5))->required('请输入密码错误次数锁定账号')->info('密码错误多少次锁定账号，输入为0时则视为默认错误5次锁定'),
            FormItem::Number('login_lock', '账号锁定时间', (int)($configure['login_lock'] ?? 15))->required('请输入账号锁定时间')->info('多次密码错误后账号锁定时间,单位分钟,，输入为0时则视为默认锁定15分钟'),
            FormItem::Number('idle_exit', '空闲退出登录', (int)($configure['idle_exit'] ?? 15))->required('请输入恐袭案退出系统时间')->info('多久不操作则退出登录,单位分钟,输入为0时则视为不自动退出'),
            FormItem::Input('admin_index', '系统入口', ($configure['admin_index'] ?? 'admin'))->maxlength(20)->required('请输入系统入口名称'),
        ];
    }
}